<?php

namespace Superadmin\Model;

class Utility {

    public function __construct() {
        
    }

    public function formatDate($date, $showNow = true) {

        $date = trim($date);
        if (!$date && $showNow) {
            $date = 'now';
        }
        if ($date) {
            return date('d/m/Y', strtotime($date));
        } else {
            return '';
        }
    }

    public function chuyenDoi($cs, $tolower = false) {
        /* Mảng chứa tất cả ký tự có dấu trong Tiếng Việt */
        $marTViet = array("à", "á", "ạ", "ả", "ã", "â", "ầ", "ấ", "ậ", "ẩ", "ẫ", "ă",
            "ằ", "ắ", "ặ", "ẳ", "ẵ", "è", "é", "ẹ", "ẻ", "ẽ", "ê", "ề",
            "ế", "ệ", "ể", "ễ",
            "ì", "í", "ị", "ỉ", "ĩ",
            "ò", "ó", "ọ", "ỏ", "õ", "ô", "ồ", "ố", "ộ", "ổ", "ỗ", "ơ",
            "ờ", "ớ", "ợ", "ở", "ỡ",
            "ù", "ú", "ụ", "ủ", "ũ", "ư", "ừ", "ứ", "ự", "ử", "ữ",
            "ỳ", "ý", "ỵ", "ỷ", "ỹ",
            "đ",
            "À", "Á", "Ạ", "Ả", "Ã", "Â", "Ầ", "Ấ", "Ậ", "Ẩ", "Ẫ", "Ă",
            "Ằ", "Ắ", "Ặ", "Ẳ", "Ẵ",
            "È", "É", "Ẹ", "Ẻ", "Ẽ", "Ê", "Ề", "Ế", "Ệ", "Ể", "Ễ",
            "Ì", "Í", "Ị", "Ỉ", "Ĩ",
            "Ò", "Ó", "Ọ", "Ỏ", "Õ", "Ô", "Ồ", "Ố", "Ộ", "Ổ", "Ỗ", "Ơ", "Ờ", "Ớ", "Ợ", "Ở", "Ỡ",
            "Ù", "Ú", "Ụ", "Ủ", "Ũ", "Ư", "Ừ", "Ứ", "Ự", "Ử", "Ữ",
            "Ỳ", "Ý", "Ỵ", "Ỷ", "Ỹ",
            "Đ", " ", ",", "?", ")", "(", ":", "!", "*", "&", "%", "$", "@", "`", "~", "/");

        /* Mảng chứa tất cả ký tự không dấu tương ứng với mảng $marTViet bên trên */
        $marKoDau = array("a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a",
            "a", "a", "a", "a", "a", "a",
            "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e",
            "i", "i", "i", "i", "i",
            "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o",
            "o", "o", "o", "o", "o",
            "u", "u", "u", "u", "u", "u", "u", "u", "u", "u", "u",
            "y", "y", "y", "y", "y",
            "d",
            "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
            "A", "A", "A", "A", "A",
            "E", "E", "E", "E", "E", "E", "E", "E", "E", "E", "E",
            "I", "I", "I", "I", "I",
            "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O",
            "U", "U", "U", "U", "U", "U", "U", "U", "U", "U", "U",
            "Y", "Y", "Y", "Y", "Y",
            "D", "-", "", "", "", "", "", "", "", "", "", "", "", "", "", "");

        if ($tolower) {
            return strtolower(str_replace($marTViet, $marKoDau, $cs));
        }

        return str_replace($marTViet, $marKoDau, $cs);
    }
    public function removescript($str) {
        $script = array("<", ">");
        $remove = array("&lt;", "&gt;");
        return str_replace($script, $remove, $str);
    }

    function subStringv($str, $len) {
        //$str = html_entity_decode($str, ENT_QUOTES, $charset='UTF-8');
        if (strlen($str) > $len) {
            $arr = explode(' ', $str);
            $str = substr($str, 0, $len);
            $arrRes = explode(' ', $str);
            $last = $arr[count($arrRes) - 1];
            unset($arr);
            if (strcasecmp($arrRes[count($arrRes) - 1], $last)) {
                unset($arrRes[count($arrRes) - 1]);
            }
            return implode(' ', $arrRes) . "...";
        }
        return $str;
    }
    public function tooltipString($str, $maxlength = 30, $strip_tag = true) {
        if ($strip_tag) {
            $str = strip_tags($str);
        }
        if (strlen($str) > $maxlength) {
            return "<span title='$str'>" . $this->subStringv($str, $maxlength) . '</span>';
        } else {
            return $str;
        }
    }
    

}
